热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

角加速度|角速度_智能驾驶功能软件平台设计规范第五部分:定位功能服务接口

篇首语:本文由编程笔记#小编为大家整理,主要介绍了智能驾驶功能软件平台设计规范第五部分:定位功能服务接口相关的知识,希望对你有一定的参考价值。1规范应用范围

篇首语:本文由编程笔记#小编为大家整理,主要介绍了智能驾驶功能软件平台设计规范第五部分:定位功能服务接口相关的知识,希望对你有一定的参考价值。



1 规范应用范围

本规范规定了智能驾驶功能软件平台的定位功能服务接口。

本规范适用于设计开发 GB/T《汽车驾驶自动化分级》[1]所定义的 2 级及以上的驾驶自动化系统即智能驾驶系统。


2 规范引用文件

本规范的引用和参考文件见下表:

[1] GB/T《汽车驾驶自动化分级》

[2] ISO/DIS 23150:2020(E) Road vehicles — Data communication between sensors

and data fusion unit for automated driving functions — Logical interface

[3] ADASIS(Advanced Driver Assistance Systems Interface Specification) v3

[4] 智能驾驶功能软件平台设计规范 第一部分:系统架构

[5] 智能驾驶功能软件平台设计规范 第二部分:感知融合功能服务接口

[6] 智能驾驶功能软件平台设计规范 第三部分:预测功能服务接口

[7] 智能驾驶功能软件平台设计规范 第四部分:决策规划功能服务接口


3 缩略语

文档中可能使用到的缩写说明如下所示:

缩略语 英文全名 中文解释

AD Autonomous Driving 自动驾驶

ADAS Advanced driver-assistance systems 高级辅助驾驶系统

ODD Operational Design Domain 设计运行区域

APP Application 应用程序


4 定位功能概述

智能驾驶功能软件平台基于不同厂商的技术实现方案进行功能抽象,共分为传感器抽象功能、感知融合功能、预测功能、决策规划功能、定位功能和执行器抽象功能等 6 个功能模块。主机厂基于自身策略,在设计和开发功能软件时可以选择不同的功能模块和算法组件,实现拼插式功能组合,灵活构建智能驾驶系统级解决方案。

图 1 智能驾驶功能软件平台架构

定位功能根据高精度地图、传感器等信息输入提供自车位置,包括本车的绝对位置以及和静态动态环境的相对位置等。传感器的输入来自于传感器抽象模块或者感知融合模块。高精度地图需要设置地图引擎,通过地图引擎来适配不同的国内外标准,提供全局和局部的环境参考信息,可以参考 ADASIS v3[3]等。

依赖于地图引擎所提供的地图信息,同时也依赖传感器抽象功能和感知融合功能中的部分服务,自车定位组件提供自车的绝对或相对位置、姿态、速度和加速度等信息,具体如下:


  • 绝对定位,是以世界坐标系为参考的定位输出,如以 WGS-84 坐标系为参考的自车位置(经度、纬度和高度)、姿态等信息。

  • 相对定位,是以局部坐标系为参考的定位输出,如以局部地理系为参考的自车相对于局部参考系原点的位置、速度等信息。

坐标系是定位服务中提供的位置、速度等信息的参照系统,同样的车辆运动状态在不同的坐标系中会有不同的标识,因此描述一个定位服务信息时,必须指定相应的坐标系。在定位服务中常用的坐标系包括全球地理坐标系(GNSS 系统)、局部地理坐标系(地图系统)、车体坐标系(感知融合、决策规划等服务)等,具体参见《智能驾驶功能软件平台规范 第一部分:系统架构》[4]。

表1 定位功能服务


接口名称依赖功能接口信息
自车定位服务接口传感器抽象, 感知融合功能服务接口,地图引擎自车的绝对或相对位置、朝向、速度、加速度等位姿信息

5 定位功能服务接口定义

本规范规定了定位功能对外提供的逻辑接口,定义了服务所提供信息的语义和数据类型,逻辑接口主要由数据包头和数据体两部分组成。

数据格式 Integer 表示整数类型,Float 表示实数类型;

可选必选列表明信号在接口中是否必选,M 代表必选,O 代表可选。


5.1 自车定位服务接口

自车定位服务接口提供了定位模块状态,以及本车的位置信息、速度、加速度等信息。

自车定位服务接口定义如表 2 所示。

表2 自车定位服务接口


信号名称信号描述数据类型单位取值范围可选必选
Header定位服务接口数据包头Header 6M
ParentCoordiante父坐标系枚举10:UnKnow;1:Vehicle;2:WGS84;3:UTM;O
ChildCoordiante子坐标系枚举10:UnKnow;1:Vehicle;2:WGS84;3:UTM;O
PositionStatus定位模块状态枚举10:Good;1:PositionNotGood;2:OrientationNotGoodM
UTMZoneIDUTM分区号Integer1[1…60]O
isSouth南北半球标志位BoolTrue:南半球;False:北半球O
OffsetXUTM区内偏移量Integer1O
OffsetYUTM区内偏移量Integer1O
RefPoint针对停车场或者其他特殊场景的参考点位置,该点在全局坐标系下位置描述Point3D 6.2.2O
Pose位姿Pose 6.3M
Velocity速度Velocity 0M
Acceleration加速度AccelerationM
Bias零点偏置Bias 6.6O

6 定位功能服务接口数据结构

6.1 自车定位服务接口数据包头

自车定位服务接口数据包头主要描述了定位接口的概要信息,主要包括算法组件名称、版本信息、时间戳、参考坐标系、模块状态信息、定位数据源等。

表3 自车定位服务接口数据包头


信号名称信号描述数据类型单位取值范围可选必选
Header定位服务接口数据包头结构体
>ModuleID算法组件名称Integer1M
>Version ID模块版本号结构体M
>>Major主版本号Integer1M
>>Minor辅版本号Integer1M
>>Patch补丁号Integer1M
>>SequenceNum序列号Integer1M
>TimeStamp时间戳结构体M
>>TimeStampS时间戳整秒,格林威治时间1970.1.1 00:00:00秒起至当前时刻的时间IntegersM
>>TimeStampNs时间戳纳秒,格林威治时间1970.1.1 00:00:00秒起至当前时刻的时间IntegernsM
>Frame坐标系枚举10:NA;1:VCS;2:WGS84;3:UTM;M
>Status模块状态枚举10:GOOD;1:MED;2:FAILUREM

6.2 描述


6.2.1 二维坐标

二维坐标信息表示二维平面的点或者向量信息。

表4 二维坐标


信号名称信号描述数据类型单位取值范围可选必选
Point2D二维坐标结构体
>xX轴坐标或向量FloatM
>yY轴坐标或向量FloatM

6.2.2 三维坐标

三维坐标信息表示三维平面的点或者向量信息。

表5 三维坐标


信号名称信号描述数据类型单位取值范围可选必选
Point3D三维坐标结构体
>xX轴坐标或向量FloatM
>yY轴坐标或向量FloatM
>zZ轴坐标或向量FloatM

6.2.3 二维曲线

二维空间曲线采样点序列。

表6 二维曲线


信号名称信号描述数据类型单位取值范围可选必选
Curve2D二维曲线Point2D数组
>curve点序列6.2.1M

6.2.4 三维曲线

三维空间曲线采样点序列。

表7 三维曲线


信号名称信号描述数据类型单位取值范围可选必选
Curve3D三维曲线Point3D数组
>curve点序列6.2.2M

6.2.5 二维多边形

二维多边形提供了多边形的二维特征点数组信息。

表8 二维多边形


信号名称信号描述数据类型单位取值范围可选必选
Polygon2D二维多边形,由一系列2D点构成的Array,顺序相连Point2D数组
>Point2D二维坐标6.2.1M

6.2.6 三维多边形

三维多边形提供了多边形的三维特征点数组信息。

表9 三维多边形


信号名称信号描述数据类型单位取值范围可选必选
Polygon3D三维多边形,由一系列3D点构成的Array,顺序相连Point3D数组
>Point3D三维坐标6.2.2M

6.2.7 四元数

四元数信息用来表示三维空间中的旋转信息。

表10 四元数


信号名称信号描述数据类型单位取值范围可选必选
Quaternion四元数结构体
>qxX分量FloatM
>qyY分量FloatM
>qzZ分量FloatM
>qwW分量FloatM

6.3 位姿

位姿信息用于描述目标相对于参考坐标系的姿态和位置以及相应的协方差信息;

表11 位姿


信号名称信号描述数据类型单位取值范围可选必选
Pose位姿结构体
>Position位置Point3D 6.2.2m,m,mM
>Orientation四元素姿态Quaternion 6.2.7M
>Covariance协方差Flat64[]O

6.4 速度

速度信息提供了目标的线速度和角速度信息以及协方差信息。

表12 速度信息


信号名称信号描述数据类型单位取值范围可选必选
Velocity速度结构体
>Linear线速度Point3D 6.2.2m/s,m/s,m/sM
>Angular角速度Point3D 6.2.2rad/s,rad/s,rad/sM
>Covariance协方差Float数组O

6.5 加速度

加速度信息提供了目标的线加速度和角加速度信息以及协方差信息。

表13 加速度信息


信号名称信号描述数据类型单位取值范围可选必选
Acceleration加速度结构体
>Linear线加速度Point3D 6.2.2m/s2,m/s2,m/s2M
>Angular角加速度Point3D 6.2.2rad/s2,rad/s2,rad/s2M
>Covariance协方差Float数组O

6.6 零点偏置

零点偏置信息提供了线加速度和角速度输出的零偏值以及协方差信息。

表14 零偏信息


信号名称信号描述数据类型单位取值范围可选必选
Bias零点偏置结构体
>Linear acceleration bias线加速度零偏Point3D 6.2.2m/s2,m/s2,m/s2M
>Angular velocity bias角加速度零偏Point3D 6.2.2rad/s2,rad/s2,rad/s2M
>Covariance协方差Float数组O

附录A(资料性附录)定位功能服务接口Protobuf描述

A.1 数据结构定义

//common.proto
message Header
required uint32 ModuleID=1;
message VersionID
required uint32 major=1;
required uint32 minor=2;
required uint32 patch=3;

required VersionID vid=2;
required uint32 sequenceNum=3;
message timeStamp
required uint64 timeStampS=1;
required uint64 timeStampNs=2;

required timeStamp TimeStamp=4;
enum FRAMETYPE
NA=0;
VCS=1;
WGS84=2;
UTM=3;

required FRAMETYPE Frame=5;
emum STATUS
GOOD=0;
MED=1;
FAILURE=2;

required STATUS Status =6;
message Point2D
required double x=1;
required double y=2;
message Point3D
required double x=1;
required double y=2;
required double z=3;
message Quaternion
Required double qx = 1 ;
Required double qy = 2 ;
Required double qz = 3 ;
Required double qw = 4 ;
Message Pose
Required Point3D Position=1;
Required Quaternion quat=2;
Repeated double Covariance=3;
Message Velocity
Required Point3D Linear=1;
Required Point3D Angular =2;
Repeated double Covariance=3;
Message Acceleration
Required Point3D Linear=1;
Required Point3D Angular =2;
Repeated double Covariance=3;
Message Bias
Required Point3D LinearAccelerationBias =1;
Required Point3D AngularVelocityBias =2;
Repeated double Covariance=3;

A.2 自车定位服务接口描述

//LoacationService.proto
import common.proto
Message LoacationService
Required Header header=1;
optional FrameType ParentCoordinate=2;
optional FrameType ChildCoordinate=3;
Enum pStatus
GOOD=0;
POSITION_NOT_GOOD=1;
ORIENTATIONNOTGOOD=2;

Required pStatus PositionStatus =4;
optional uint32 UTMZoneID=5;
optional bool IsSouth=6;
optional uint32 OffsetX=7;
optional uint32 OffsetY=8;
optional Point3D RefPoint=9;
Required Pose pose=10;
Required Velocity Vel=11;
Required Acceleration acc=12;
optional Bias imub=13;

推荐阅读
  • 在《Linux高性能服务器编程》一书中,第3.2节深入探讨了TCP报头的结构与功能。TCP报头是每个TCP数据段中不可或缺的部分,它不仅包含了源端口和目的端口的信息,还负责管理TCP连接的状态和控制。本节内容详尽地解析了TCP报头的各项字段及其作用,为读者提供了深入理解TCP协议的基础。 ... [详细]
  • 每日前端实战:148# 视频教程展示纯 CSS 实现按钮两侧滑入装饰元素的悬停效果
    通过点击页面右侧的“预览”按钮,您可以直接在当前页面查看效果,或点击链接进入全屏预览模式。该视频教程展示了如何使用纯 CSS 实现按钮两侧滑入装饰元素的悬停效果。视频内容具有互动性,观众可以实时调整代码并观察变化。访问以下链接体验完整效果:https://codepen.io/comehope/pen/yRyOZr。 ... [详细]
  • 在使用SSH框架进行项目开发时,经常会遇到一些常见的问题。例如,在Spring配置文件中配置AOP事务声明后,进行单元测试时可能会出现“No Hibernate Session bound to thread”的错误。本文将详细探讨这一问题的原因,并提供有效的解决方案,帮助开发者顺利解决此类问题。 ... [详细]
  • HTML 页面中调用 JavaScript 函数生成随机数值并自动展示
    在HTML页面中,通过调用JavaScript函数生成随机数值,并将其自动展示在页面上。具体实现包括构建HTML页面结构,定义JavaScript函数以生成随机数,以及在页面加载时自动调用该函数并将结果呈现给用户。 ... [详细]
  • 在 PHP 中使用 Restler 3 框架为不同方法添加身份验证时,可以根据方法参数的特定值来限制访问。例如,在 `Simple.php` 文件中定义的 `Simple` 类中,可以通过检查 `$name` 参数的值来决定是否允许调用 `item` 方法。这种细粒度的认证机制可以提高系统的安全性和灵活性。具体实现方式包括在方法内部进行条件判断,并结合框架提供的认证工具来实现访问控制。 ... [详细]
  • 2018年9月21日,Destoon官方发布了安全更新,修复了一个由用户“索马里的海贼”报告的前端GETShell漏洞。该漏洞存在于20180827版本的某CMS中,攻击者可以通过构造特定的HTTP请求,利用该漏洞在服务器上执行任意代码,从而获得对系统的控制权。此次更新建议所有用户尽快升级至最新版本,以确保系统的安全性。 ... [详细]
  • 优化后的标题:利用 jQuery 实现高效树形结构元素选择与操作
    在Web前端开发中,DOM结构本质上是一种树形结构。通过优化后的jQuery选择器,可以高效地选择和操作DOM树中的节点。这些选择器不仅简化了代码编写,还提高了性能和可维护性。本文将详细介绍如何利用jQuery的树形选择器实现高效的元素选择与操作。 ... [详细]
  • 非线性门控感知器算法的实现与应用分析 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 在 CentOS 7 系统中安装 Scrapy 时遇到了一些挑战。尽管 Scrapy 在 Ubuntu 上安装简便,但在 CentOS 7 上需要额外的配置和步骤。本文总结了常见问题及其解决方案,帮助用户顺利安装并使用 Scrapy 进行网络爬虫开发。 ... [详细]
  • 在 `UITableViewController` 中采用简洁的平面样式布局时,可以通过优化代码实现单元格扩展至屏幕边缘的效果,同时确保节标题以分组样式呈现,从而提升用户体验和界面美观度。通过这种方式,可以更好地组织和展示列表内容,使其更加清晰和有序。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • POJ 2482 星空中的星星:利用线段树与扫描线算法解决
    在《POJ 2482 星空中的星星》问题中,通过运用线段树和扫描线算法,可以高效地解决星星在窗口内的计数问题。该方法不仅能够快速处理大规模数据,还能确保时间复杂度的最优性,适用于各种复杂的星空模拟场景。 ... [详细]
  • 本文以 www.域名.com 为例,详细介绍如何为每个注册用户提供独立的二级域名,如 abc.域名.com。实现这一功能的核心步骤包括:首先,确保域名支持泛解析,即将 A 记录设置为 *.域名.com,以便将所有二级域名请求指向同一服务器。接着,在服务器端使用 ASP.NET 2.0 进行配置,通过解析 HTTP 请求中的主机头信息,动态识别并处理不同的二级域名,从而实现个性化内容展示。此外,还需在数据库中维护用户与二级域名的对应关系,确保每个用户的二级域名都能正确映射到其专属内容。 ... [详细]
  • 在最近的学习过程中,我对Vue.js中的Prop属性有了更深入的理解,并认为这一知识点至关重要,因此在此记录一些心得体会。Prop属性用于在组件之间传递数据。由于每个组件实例的作用域都是独立的,无法直接引用父组件的数据。通过使用Prop,可以将数据从父组件安全地传递到子组件,确保数据的隔离性和可维护性。 ... [详细]
author-avatar
个信2502894627
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有